﻿using System;
using System.Collections.Generic;
using System.Xml.Linq;
using System.Xml.Serialization;

namespace SharpAnalyzer.Entities
{
    [XmlRoot(ElementName = "Project")]
    public class Project
    {
        public static readonly Project Empty = new Project();

        [XmlAttribute]
        public string ProjectFile { get; set; }

        [XmlAttribute]
        public ModuleProjectKind ProjectKind { get; set; }

        [XmlAttribute]
        public string Name { get; set; }

        [XmlAttribute]
        public string AssemblyVersion { get; set; }

        [XmlAttribute]
        public string FileVersion { get; set; }

        public List<Metric> Metrics { get; set; }

        public List<Namespace> Namespaces { get; set; }
    }

    public enum ModuleProjectKind
    {
        [XmlEnum(Name = "")]
        Unknown,
        [XmlEnum(Name = "cs")]
        CSharp,
        [XmlEnum(Name = "vb")]
        VisualBasic,
    }
}
